맨위로가기

파일 할당 테이블

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

파일 할당 테이블(FAT)은 빌 게이츠와 마크 맥도널드가 개발한 파일 시스템으로, 다양한 운영 체제에서 사용되었다. FAT는 파일의 위치 정보를 테이블 형태로 관리하며, FAT12, FAT16, FAT32, exFAT 등 여러 변형이 존재한다. FAT는 플로피 디스크, 이동식 미디어 등에서 널리 사용되었지만, 파일 크기 제한 등의 단점으로 인해 NTFS, exFAT 등 다른 파일 시스템으로 대체되고 있다. 마이크로소프트는 FAT 관련 특허를 보유하고 있으며, 특허 침해 소송을 제기한 바 있다.

더 읽어볼만한 페이지

  • 1977년 소프트웨어 - BSD
    BSD는 캘리포니아 대학교 버클리에서 시작된 유닉스 계열 운영 체제로, 오픈 소스 라이선스인 BSD 라이선스를 통해 자유롭게 사용 및 배포되며, FreeBSD, OpenBSD, NetBSD 등 다양한 운영 체제로 파생되었다.
  • 1977년 소프트웨어 - OpenVMS
    OpenVMS는 DEC에서 개발한 멀티유저, 멀티프로세싱 가상 메모리 기반 운영 체제로, 고도의 안정성, 보안성, 확장성을 특징으로 하며 다양한 아키텍처, 클러스터링, 네트워킹, 프로그래밍 언어 및 개발 도구를 지원한다.
  • 도스 기술 - EXE
    EXE 파일 형식은 운영 체제에 따라 다양한 종류가 있는 실행 파일의 한 형태로, DOS MZ 실행 파일에서 PE, PE32+까지 발전해 왔으며, 코드, 데이터, 스택을 별도 관리하고 재배치 항목을 통해 실행 환경에 유연하게 대응하는 특징을 가진다.
  • 도스 기술 - COM 파일
    COM 파일은 CP/M 및 MS-DOS 운영체제에서 사용된 실행 파일 형식으로, 메타데이터 없이 코드와 데이터로 구성되어 64KB 크기 제한을 가지며, 단순한 구조로 극소의 실행 파일을 만들 수 있지만 보안 취약점도 존재한다.
  • Ecma 표준 - ISO/IEC 646
    ISO/IEC 646는 ASCII 기반의 7비트 문자 인코딩 표준으로, 국가별 변형이 존재했으나, 최종 개정판은 ASCII와 호환되도록 정의되었고, 현재는 ITU-T 권고 T.50 IRA가 현행 표준으로 유지되고 있다.
  • Ecma 표준 - 유니버설 미디어 디스크
    유니버설 미디어 디스크(UMD)는 소니 PSP에 사용된 60mm 광 디스크로, 게임, 영상, 음악 콘텐츠를 최대 1.8GB까지 저장하며, DVD와 유사한 지역 코드와 AES 128 비트 암호화를 사용했지만, PSP 외 다른 기기에서 사용 불가 및 디지털 미디어의 발달로 인해 2010년대 초반에 지원이 중단되었다.
파일 할당 테이블
파일 시스템 정보
이름FAT
개발자마이크로소프트
NCR
SCP
IBM
컴팩
디지털 리서치
노벨
칼데라
전체 이름파일 할당 테이블 (File Allocation Table)
변종8-bit FAT
FAT12
FAT16
FAT16B
FAT32
ExFAT
FATX
FAT+
소개 날짜1977년
소개 운영 체제마이크로소프트 베이직
파티션 IDMBR/EBR:
FAT12: 0x01 e.a. (Extended Attribute)
FAT16: 0x040x060x0E e.a.
FAT32: 0x0B0x0C e.a.
BDP:
B9E5-4433-87C0-68B6B72699C7
디렉터리 구조테이블
파일 구조연결 리스트
불량 블록 구조클러스터 태깅
최대 파일 크기4,294,967,295 바이트 (4 GiB - 1) (FAT16B와 FAT32의 경우)
최대 파일 수FAT12: 8 KiB 클러스터의 경우 4,068개
FAT16: 32 KiB 클러스터의 경우 65,460개
FAT32: 32 KiB 클러스터의 경우 268,173,300개
최대 파일 이름 크기8.3 파일 이름 또는 UCS-2 255 문자 (LFN 사용 시)
최대 볼륨 크기FAT12: 32 MiB (64 KiB 클러스터의 경우 256 MiB)
FAT16: 2 GiB (64 KiB 클러스터의 경우 4 GiB)
FAT32: 2 TiB (4 KiB 섹터의 경우 16 TiB)
기록되는 날짜수정 날짜/시간, 생성 날짜/시간 (DOS 7.0 이상만 해당), 액세스 날짜 (ACCDATE 활성화 시에만 사용 가능), 삭제 날짜/시간 (DELWATCH 2만 해당)
날짜 범위1980-01-01 ~ 2099-12-31 (2107-12-31)
날짜 해상도마지막 수정 시간: 2초
생성 시간: 10 밀리초
액세스 날짜: 1일
삭제 시간: 2초
포크/스트림기본적으로는 아님
속성읽기 전용, 숨김, 시스템, 볼륨, 디렉터리, 보관
파일 시스템 권한FAT12/FAT16: 읽기, 쓰기, 실행, 삭제에 대한 파일, 디렉터리 및 볼륨 액세스 권한은 DR-DOS, DR-DOS, DR-DOS, DR-DOS, FlexOS, 4680 OS, 4690 OS, Concurrent DOS, Multiuser DOS, System Manager, REAL/32에서만 가능 (FlexOS, 4680 OS, 4690 OS에서만 실행 권한, FlexOS, 4680 OS, 4690 OS에서는 개별 파일/디렉터리 비밀번호 없음, World/Group/Owner 권한 클래스는 다중 사용자 보안이 로드된 경우에만 가능)
FAT32: 부분적으로 DR-DOS, REAL/32 및 4690 OS에서만 가능
압축FAT12/FAT16: 볼륨당, 디스크 압축, 스태커, 더블스페이스, 더블스페이스
FAT32: 아니요
암호화FAT12/FAT16: 볼륨당 (DR-DOS 기준)
FAT32: 아니요

2. 역사

FAT 파일 시스템은 빌 게이츠와 마크 맥도널드가 1976년부터 1977년에 걸쳐 개발하였다.[46][47] DR-DOS, 프리도스, MS-DOS, OS/2 (v1.1) 및 마이크로소프트 윈도우(윈도우 미까지)를 포함한 다양한 운영 체제에서 주 파일 시스템으로 사용되었다.

FAT 파일 시스템은 원래 마이크로소프트 독립형 디스크 베이직의 디스크 관리를 위해 만들어졌다. 1980년 8월, 팀 패터슨은 FAT를 S-100 8086 CPU 기판을 위한 86-DOS 운영 체제에 도입하였다.[46] 86-DOS와 그 이전에 쓰였던 CP/M의 주요 차이점이 바로 이 파일 시스템이었다.

FAT라는 이름은 파일이 속한 영역, 여유 공간, 파일이 디스크에 저장된 위치 등의 정보를 담은 테이블을 중심으로 구성된 데서 유래한다. 테이블 크기를 제한하기 위해 디스크 공간은 클러스터라 불리는 하드웨어 섹터의 인접 그룹 단위로 파일에 할당된다. 디스크 드라이브 기술이 발전하면서 클러스터의 최대 수도 늘어났고, 각 클러스터를 식별하는 데 사용되는 비트 수도 증가했다. FAT 포맷의 주요 버전은 12, 16, 32와 같은 숫자로 구분된다. FAT 표준은 기존 소프트웨어와의 하위 호환성을 유지하면서 여러 방식으로 확장되었다.

FAT는 DOS 및 Windows 9x 시대에 하드 디스크에서 널리 사용되었다. 1993년 Windows NT 플랫폼과 함께 NTFS가 도입되었지만, FAT는 2001년 Windows XP가 출시될 때까지 일반 사용자에게 표준으로 남아 있었다. Windows Me는 FAT를 기본 파일 시스템으로 사용하는 마지막 윈도우 버전이었다.

플로피 디스크의 경우, FAT는 ECMA-107 및 ISO/IEC 9293:1994 (ISO 9293:1987을 대체)로 표준화되었다. 이 표준은 짧은 8.3 파일명만 지원하는 FAT12 및 FAT16을 다룬다. VFAT를 사용한 긴 파일명은 부분적으로 특허를 받았다.

FAT는 EFI 호환 컴퓨터의 부팅 단계에서 EFI 시스템 파티션 내부에서 사용된다. 숨겨진 FAT 파일 시스템은 최신 PC의 UEFI 부팅 파티션에서도 사용된다.

FAT는 공유된 윈도우, 리눅스, DOS 환경과 같이 여러 운영 체제에서 사용될 것으로 예상되는 드라이브에서 여전히 사용된다. Microsoft Windows는 FAT 파일 시스템을 NTFS로 직접 변환하는 사전 설치된 도구를 제공하지만, 이 작업은 쉽게 되돌릴 수 없다.[4] FAT 파일 시스템은 플로피 디스크, 슈퍼플로피, 메모리 카드플래시 메모리 카드 또는 USB 플래시 드라이브와 같은 이동식 미디어에서 사용된다. FAT는 PDA, 디지털 카메라, 캠코더, 휴대용 미디어 플레이어 및 휴대폰과 같은 휴대용 장치에서 지원된다.

1998년 이후 거의 모든 디지털 카메라에서 채택한 DCF 파일 시스템은 8.3 파일 이름을 사용하는 논리적 파일 시스템을 정의하며, 호환성을 위해 FAT12, FAT16, FAT32 또는 exFAT를 물리 계층에 필수적으로 사용하도록 한다.

FAT의 주요 버전은 다음과 같다.


  • '''FAT12''': MS-DOS 초기부터 주로 쓰였으며, 플로피 디스크에서 여전히 이용된다. 클러스터 식별에 12비트를 사용하며 최대 클러스터 수는 4084개이다.
  • '''FAT16''': 32MB 이상의 하드 디스크를 지원하기 위해 MS-DOS 3.0과 함께 나왔으며 윈도우 95까지 주로 이용되었다. 클러스터 식별에 16비트를 사용하며 최대 2GB 파티션을 지원한다.[48]
  • '''FAT32''': 윈도우 95 OSR2부터 지원하며, 2GB 이상의 하드 디스크를 지원한다. 파일 하나의 최대 크기는 4GB-1바이트이며, 파티션 하나의 최대 용량은 8TB이다.[33]
  • '''exFAT''': 윈도우 CE 6.0에서 도입되었으며, FAT32의 한계를 극복하고자 개발되었다. 파일 하나의 최대 크기는 16엑사바이트이다.
  • '''FATX''': 마이크로소프트의 Xbox 게임기 하드 디스크 드라이브와 메모리 카드를 위하여 설계된 FAT 파일 시스템의 수정 버전이다.
  • '''TFAT / Tex FAT''': FAT와 exFAT 파일 시스템 위에 레이어를 씌운 것으로, 트랜잭션 보안 수준을 제공한다.


노벨은 자사의 넷웨어 파일 시스템(NWFS)에서 FAT 파일 시스템을 대폭 수정하여 넷웨어 운영 체제에 구현했다. 더 큰 파일의 경우 터보 FAT라는 성능 기능을 활용했다.[1]

2. 1. FAT12

MS-DOS 초기부터 주로 쓰였으며, 플로피 디스크에서는 여전히 이용된다. FAT는 EFI 호환 컴퓨터의 부팅 단계에서 EFI 시스템 파티션 내부에서 사용된다. 숨겨진 FAT 파일 시스템은 최신 PC의 UEFI 부팅 파티션에서도 사용된다.

이름FAT12
개발자SCP, 마이크로소프트, IBM, 디지털 리서치, 노벨
전체 이름12비트 파일 할당 테이블
파티션 IDMBR/EBR: 0x01
최대 볼륨 크기4 KB 클러스터 사용 시 16 MB
8 KB 클러스터 사용 시 32 MB
최대 파일 크기볼륨 크기에 따라 제한됨
파일 크기 정밀도1 바이트
최대 파일 수8 KB 클러스터 사용 시 4,068개
최대 파일 이름 크기8.3 파일 이름에 OEM 문자 사용,
LFN 사용 시 255 UCS-2 문자[1]
최대 디렉터리 깊이CDS 사용 시 32 레벨 또는 66 문자,
CDS 미사용 시 60 레벨 이상
기록된 날짜수정 날짜, 수정 시간, 생성 날짜/시간 (DOS 7.0 이상), 접근 날짜 (ACCDATE 활성화 시)
날짜 범위1980-01-01부터 2099-12-31 (2107-12-31)
날짜 정밀도마지막 수정 시간은 2 초, 생성 시간은 10 ms, 접근 날짜는 1 일
속성읽기 전용, 숨김, 시스템, 볼륨, 디렉터리, 아카이브
파일 시스템 권한DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, 4680 OS, 4690 OS, Concurrent DOS, Multiuser DOS, System Manager, REAL/32에서 파일, 디렉터리 및 볼륨에 대한 읽기, 쓰기, 실행, 삭제 권한



1980년 4월부터 8월 사이에 SCP의 자체 8086 운영 체제인 QDOS 0.10에 FAT 개념을 차용하면서 팀 패터슨은 테이블 요소를 '''12비트'''로 확장하고 FAT 수를 2개로 줄였으며, 일부 예약된 클러스터 값의 의미를 재정의하고 디스크 레이아웃을 수정하여 루트 디렉터리가 '''FAT12'''의 구현을 위해 FAT와 데이터 영역 사이에 위치하도록 했다. 패터슨은 또한 9자(6.3) 파일 이름 제한을 11자로 늘려 CP/M 스타일의 8.3 파일 이름파일 제어 블록을 지원했다. 마이크로소프트 ''Standalone Disk BASIC's'' 8비트 파일 시스템 전신에서 사용된 형식은 QDOS에서 지원되지 않았다. 1980년 8월까지 QDOS는 86-DOS로 이름이 변경되었다. 86-DOS 0.42부터 파일 날짜 스탬프를 추가하고, 16 MB 이전 한도를 초과하는 이론적인 파일 크기 제한을 늘리기 위해 디렉터리 항목의 크기와 레이아웃이 16 바이트에서 32 바이트로 변경되었다.

86-DOS 1.00은 1981년 초에 출시되었다. 1981년 후반에 86-DOS는 마이크로소프트의 MS-DOSIBM PC DOS로 발전했다. 이전에 16바이트 디렉터리 항목으로 포맷된 볼륨을 읽는 기능은 MS-DOS 1.20에서 삭제되었다.

FAT12는 클러스터 주소에 12비트 항목을 사용했으며, 일부 값은 클러스터 체인의 끝을 표시하거나, 디스크의 사용할 수 없는 영역을 표시하거나, 다른 목적으로 예약되어 최대 클러스터 수가 4078개로 제한되었다. 디스크 공간을 절약하기 위해 두 개의 12비트 FAT 항목은 디스크에서 세 개의 연속된 8비트 바이트를 사용하므로 12비트 값을 언팩하기 위해 조작이 필요했다. 이는 원래 플로피 디스크 드라이브와 최대 32MB의 소형 하드 디스크에 충분했다.

86-DOS는 8인치(200 mm) 플로피 드라이브에서 세 가지 디스크 형식(250.25 KB, 616 KB 및 1232 KB, FAT ID 0xFF0xFE)을 지원했지만, 1981년에 최초의 IBM 개인용 컴퓨터와 함께 출시된 IBM PC DOS 1.0은 단면 5.25인치 플로피 드라이브에 대해 160 KB(FAT ID 0xFE)의 포맷된 용량을 가진 8섹터 플로피 형식만 지원했으며, PC DOS 1.1은 320 KB(FAT ID 0xFF)의 양면 형식을 추가로 지원했다. PC DOS 2.0은 180 KB(FAT ID 0xFC) 및 360 KB(FAT ID 0xFD)의 9섹터 플로피 형식에 대한 지원을 도입했다.

86-DOS 1.00 및 PC DOS 1.0 디렉터리 항목에는 마지막 수정 날짜인 날짜가 하나만 포함되어 있었다. PC DOS 1.1은 마지막 수정 시간을 추가했다. PC DOS 1.x 파일 속성에는 숨김 비트와 시스템 비트가 포함되었으며 나머지 6비트는 정의되지 않았다. 이 당시 DOS는 하위 디렉터리를 지원하지 않았지만 일반적으로 디스켓에는 수십 개의 파일만 있었다.

PC XT는 IBM에서 제공한 하드 드라이브가 있는 최초의 PC였으며, PC DOS 2.0은 FAT12(FAT ID 0xF8)를 사용하여 해당 하드 드라이브를 지원했다. 하드 디스크에서 클러스터당 8 섹터라는 고정된 가정은 실제로 512 바이트 섹터와 4 KB 클러스터의 최대 파티션 크기를 16 MB로 제한했다.

''BIOS 매개변수 블록''(BPB)도 PC DOS 2.0에 도입되었으며, 이 버전은 계층적 하위 디렉터리에 대한 읽기 전용, 아카이브, 볼륨 레이블 및 디렉터리 속성 비트를 추가했다.

MS-DOS 3.0은 트랙당 15 섹터가 있는 고밀도 1.2 MB 5.25인치 디스켓(미디어 설명자 0xF9)에 대한 지원을 도입했으므로 FAT를 위한 더 많은 공간이 있었다.

FAT12는 1.44 MB 및 이후 2.88 MB 디스크(미디어 설명자 바이트 0xF0)를 포함하여 모든 일반적인 플로피 디스크에서 계속 사용된다.

초기의 FAT 파일 시스템은 현재 FAT12로 불린다. 12비트의 클러스터 식별자를 사용하며, 총 클러스터 수는 최대 4084개이다. 클러스터 크기는 512바이트에서 32KiB까지 사용할 수 있다. 그러나 볼륨의 총 섹터 수가 16비트로 관리되기 때문에, 섹터 크기가 512바이트인 경우 볼륨 크기는 32MiB까지이다. 현재는 주로 플로피 디스크의 포맷으로 남아있다.

2. 2. FAT16

32메가바이트 이상의 하드 디스크를 지원하기 위해 MS-DOS 3.0과 함께 나왔으며 윈도우 95까지 주로 이용되었다. 최대 2기가바이트 파티션을 지원한다.[48] 용량이 적은 이동식 드라이브에서는 아직까지 고유 형식으로 자리잡혀 있다.

FAT12 및 FAT16의 MS-DOS 및 PC DOS 구현은 32MB보다 큰 디스크 파티션에 접근할 수 없었다. 여러 제조업체는 자체 OEM 버전의 MS-DOS 내에서 자체 FAT 변형을 개발했다.

일부 공급업체(AST 및 NEC)는 표준 4개 대신, 맞춤형 확장된 ''마스터 부트 레코드''(MBR)에 8개의 기본 파티션 항목을 지원했으며, MS-DOS를 조정하여 단일 기본 파티션 이상을 사용했다.

다른 공급업체는 파일 시스템이 작동하는 섹터의 명시적 "크기"를 늘려 16비트 섹터 항목으로 인해 부과된 볼륨 크기 제한을 해결했다. 이러한 "논리적 섹터"는 디스크의 "물리적 섹터" 크기(여전히 512바이트)보다 컸다(최대 8192바이트). 그런 다음 DOS-BIOS 또는 시스템 BIOS는 여러 물리적 섹터를 파일 시스템이 작업할 수 있는 논리적 섹터로 결합했다.

이러한 변경 사항은 DOS 커널의 파일 시스템 구현에 투명했다. 기본 DOS-BIOS는 파티션 정보 및 드라이브의 물리적 지오메트리에 따라 이러한 논리적 섹터를 물리적 섹터로 변환했다.

이 접근 방식의 단점은 섹터 버퍼링 및 디블로킹에 사용되는 메모리가 증가한다는 것이었다. 이전 DOS 버전은 큰 논리적 섹터를 사용할 수 없었으므로 OEM은 MS-DOS 및 PC DOS의 기성품 문제를 숨기기 위해 FAT 변형에 대한 새로운 파티션 ID를 도입했다. 논리적 섹터 FAT의 알려진 파티션 ID는 다음과 같다.

파티션 ID운영체제
0x08Commodore MS-DOS 3.x
0x11Leading Edge MS-DOS 3.x
0x14AST MS-DOS 3.x
0x24NEC MS-DOS 3.30
0x56AT&T MS-DOS 3.x
0xE5Tandy MS-DOS
0xF2Sperry IT MS-DOS 3.x, Unisys MS-DOS 3.3 (Digital Research DOS Plus 2.1에서도 사용)



Toshiba MS-DOS, Wyse MS-DOS 3.2 및 3.3과 Zenith MS-DOS와 같은 OEM 버전도 논리적 섹터링을 활용한 것으로 알려져 있다.

비표준적이고 최적이 아니지만 이러한 FAT 변형은 파일 시스템 자체의 사양에 따라 완벽하게 유효하다. 따라서 기본 MS-DOS 및 PC DOS가 이를 처리할 수 없더라도 이러한 공급업체별 FAT12 및 FAT16 변형의 대부분은 파티션 ID를 인식된 유형 중 하나로 변경하여 DR-DOS와 같은 운영 체제의 보다 유연한 파일 시스템 구현으로 마운트할 수 있다.[6] 또한 원래 운영 체제에서 더 이상 인식할 필요가 없는 경우, DOS 3.31부터 도입된 섹터 수에 대한 32비트 항목을 가진 BPB로 전환하고, 클러스터 크기를 유지하고 BPB의 논리적 섹터 크기를 512바이트로 줄이면서, 클러스터당 논리적 섹터 수, 예약된 논리적 섹터, 총 논리적 섹터 및 FAT당 논리적 섹터 수를 동일한 요인만큼 늘려, 섹터 크기가 512바이트와 다른 것을 지원하지 않는 MS-DOS/PC DOS 4.0–6.3 버전에 더 호환되는 FAT12 및 FAT16 볼륨으로 기존 파티션을 "변환"할 수 있다.

MS-DOS / PC DOS에서 최대 가능한 FAT 크기를 증가시킬 수 있게 한 병렬 개발은 하드 디스크에 여러 FAT 파티션을 도입한 것이다. 호환되는 방식으로 더 많은 FAT 파티션을 사용할 수 있도록 하기 위해 PC DOS 3.2(1986)에서 "논리 드라이브"라고 하는 추가 파티션의 컨테이너인 새 파티션 유형인 ''확장 파티션''(EBR)이 도입되었다. PC DOS 3.3(1987년 4월)부터 다음 "논리 드라이브"를 포함하는 또 다른 선택적 확장 파티션이 있으며, 계속된다. 하드 디스크의 MBR은 최대 4개의 기본 파티션 또는 최대 3개의 기본 파티션 외에 확장 파티션을 정의할 수 있다.

FAT16은 16비트 클러스터 식별자를 이용한 FAT로, 총 클러스터 수는 최대 65,524개이다. 클러스터 크기는 512바이트부터 32KiB(NT 계열에서는 64KiB)까지 사용할 수 있다.[29] 볼륨 크기는 2GiB(NT 계열에서는 4GiB)까지이다. 처음에는 볼륨의 총 섹터 수가 FAT12와 마찬가지로 16비트로 관리되었기 때문에, 섹터 크기가 512바이트인 경우 볼륨 크기는 32MiB까지였지만, Compaq DOS 3.31에서 총 섹터 수를 32비트로 관리하도록 확장되어 이 제한은 없어졌다.[30]

MS-DOS는 4.0 이후에 32비트의 총 섹터 수에 대응했지만, 일본 내에서는 PC-98용 MS-DOS 4.0은 발매되지 않았고, 32비트 섹터에의 대응은 MS-DOS 5.0까지 기다려야 했다. 그 대신, PC-98용 MS-DOS 3.3에서는 512바이트의 물리 섹터를 4개 묶어 2KiB의 논리 섹터로 취급함으로써 128MiB까지의 볼륨 크기에 대응했다. 또한, 세이코 엡손이 PC-286 시리즈용 MS-DOS 4.01을 발매했으며, 이것을 PC-9800 시리즈에서 사용할 수도 있었다.

2. 3. FAT32

윈도우 95 OSR2부터 지원하는 FAT32는 2기가바이트 이상의 하드디스크를 지원한다. FAT32에서 파일 하나의 최대 크기는 4기가바이트-1바이트이며, 파티션 하나의 최대 용량은 8테라바이트이고, 최대 268,435,437개의 파일을 담을 수 있다.[33]

FAT32는 윈도우 98, 윈도우 미와 같은 구형 운영 체제나, 리눅스, OS X과 같은 운영 체제에서 윈도우와의 호환성을 위해 사용된다. 또한 디지털카메라, 게임기 등에서도 이용된다. 윈도우 XP 등에 내장된 디스크 관리자 유틸리티에서는 32기가바이트 이상의 하드디스크를 파티션할 때 FAT32를 선택할 수 없고 NTFS만 나오지만, 별도 유틸리티를 이용하거나 다른 운영 체제에서 파티션을 설정하면 문제 없이 사용할 수 있다.

FAT32는 클러스터 크기가 작아 하드디스크 공간 낭비를 줄일 수 있으며, FAT16보다 효율적으로 하드디스크를 이용한다. 물리적 드라이브의 크기에 따라 클러스터 크기를 다르게 설정한다.

FAT는 EFI 호환 컴퓨터의 부팅 단계에서 EFI 시스템 파티션 내부에서 사용되며, 숨겨진 FAT 파일 시스템은 최신 PC의 UEFI 부팅 파티션에서도 사용된다.

FAT는 공유된 윈도우, 리눅스, DOS 환경과 같이 여러 운영 체제에서 사용될 것으로 예상되는 드라이브에서도 여전히 사용된다. Microsoft Windows는 FAT 파일 시스템을 NTFS로 직접 변환하는 도구를 제공하지만, 이 작업은 쉽게 되돌릴 수 없다.[4] FAT 파일 시스템은 플로피 디스크, 슈퍼플로피, 메모리 카드, 플래시 메모리 카드 또는 USB 플래시 드라이브와 같은 이동식 미디어에서 사용되며, PDA, 디지털 카메라, 캠코더, 휴대용 미디어 플레이어, 휴대폰과 같은 휴대용 장치에서도 지원된다.

1998년 이후 거의 모든 디지털 카메라에서 채택한 DCF 파일 시스템은 8.3 파일 이름을 사용하는 논리적 파일 시스템을 정의하며, 호환성을 위해 FAT12, FAT16, FAT32 또는 exFAT를 물리 계층에 필수적으로 사용하도록 한다.

마이크로소프트는 FAT16의 볼륨 크기 제한을 극복하고 DOS 실제 모드 코드가 형식을 처리할 수 있도록 FAT32를 설계했다. 클러스터 값은 32비트 숫자로 표시되며, 이 중 28비트가 클러스터 번호를 저장하는 데 사용된다. FAT32 부트 섹터는 섹터 수를 나타내기 위해 32비트 필드를 사용하므로 최대 FAT32 볼륨 크기는 섹터 크기가 512 바이트일 때 2 테라바이트로 제한된다. 최대 FAT32 볼륨 크기는 섹터 크기가 4,096 바이트일 때 16 TB이다.

Windows NT의 내장 윈도우 셸 디스크 포맷 도구는 최대 32 기가바이트 크기의 볼륨만 지원하지만,[7] Windows는 기존의 더 큰 FAT32 볼륨에 대한 읽기 및 쓰기를 지원한다. 2024년 8월, Microsoft는 최대 2TB 크기의 FAT32 파티션을 생성할 수 있도록 Windows 11 프리뷰 빌드에 대한 업데이트를 출시했다.[9]

FAT32 볼륨에서 파일의 최대 크기는 4 기가바이트 - 1 바이트, 즉 4,294,967,295 (232 − 1) 바이트이다.

FAT12 및 FAT16과 마찬가지로 FAT32는 긴 파일 이름을 직접 내장 지원하지 않지만, FAT32 볼륨은 VFAT 긴 파일 이름을 선택적으로 포함할 수 있다.

FAT32는 32비트 FAT이지만 상위 4비트는 예약되어 있어 28비트로 관리된다.[33] 클러스터 크기는 4KiB에서 32KiB까지 사용할 수 있다. 볼륨 크기는 이론상 8TiB까지 가능하지만,[34] 볼륨의 총 섹터 수를 32비트로 관리(최대 4,294,967,295)하기 때문에, 섹터 크기가 512바이트인 경우 볼륨 크기는 2TiB로 제한된다.

스캔 디스크 구현상의 문제로 Windows 9x에서는 사실상 4,177,920개의 클러스터만 이용할 수 있다 (32KiB 클러스터 시 약 124.55GiB). 또한 Windows 9x에 포함된 파티션 생성 도구인 FDISK에서는 64GB 이상의 FAT32 파티션을 생성할 수 없다.[35][34]

Windows NT 계열에서는 Windows 2000부터 사용할 수 있게 되었지만, 새로운 포맷 작업에서는 의도적으로 32GiB까지의 제한을 두었다.[36] 따라서 32GiB를 초과하는 크기의 볼륨을 생성하려면 서드파티 제작의 포맷 도구를 이용해야 한다.

Windows 11의 어떤 버전부터는 32GiB의 상한이 없어진다.[37]

FAT12FAT16FAT32exFAT
개발자마이크로소프트
정식 명칭File Allocation Table
(12비트 ver)(16비트 ver)(32비트 ver)extended 버전
도입1977년,
(Microsoft Disk BASIC)
1987년11월,
(Compaq DOS 3.31)
1996년8월,
(Windows 95 OSR2)
Windows Embedded CE 6.0
파티션식별자0x01 (MBR)0x04, 0x06, 0x0E (MBR)0x0B, 0x0C (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
0x07 (MBR)
구조
디렉토리테이블
영역 관리연결 리스트연결 리스트, 비트맵
불량 블록클러스터 태그
한계
최대 파일 크기32MiB2GiB
4GiB (NT)
4GiB - 1 byte16EiB
클러스터 크기512byte ~ 32KiB512byte ~ 32KiB(NT 계열에서는 64KiB, 섹터 크기가 512바이트보다 큰 경우에는 256KiB512byte ~ 32KiB(NT 계열에서는 64KiB, 섹터 크기가 512바이트보다 큰 경우에는 256KiB512byte ~ 32MiB
최대 파일 수4,07765,517268,435,437디렉토리당 2,796,202
최대 볼륨 크기32MiB2GiB
4GiB (NT)
2TiB
8TiB(2KiB 섹터)
TBU
최대 파일명 길이8.3 형식, 또는 255자255자
특징
기록 가능한 타임스탬프생성(정밀도는 10밀리초), 수정(정밀도는 2초), 액세스(정밀도는 1일)
(긴 파일명이 지원되는 경우에만, 생성 시간과 액세스 날짜가 업데이트될 수 있음)
생성(정밀도는 10밀리초), 수정(정밀도는 10밀리초), 액세스(정밀도는 2초)
날짜 범위1980년1월 1일 - 2107년12월 31일
포크not natively
속성읽기 전용, 숨김, 시스템, 볼륨 레이블, 하위 디렉토리, 아카이브
파일 권한없음구현에 따라 가능
(현재는 Windows CE 6만)
투명 압축볼륨별, Stacker, DoubleSpace (DriveSpace)없음없음
투명 암호화DR-DOS에서만 볼륨별


2. 4. FATX

FATX는 FAT 파일 시스템을 수정한 버전이며 마이크로소프트의 Xbox 게임기 하드 디스크 드라이브와 메모리 카드를 위하여 설계된 것이다. FATX는 exFAT와 혼동해서는 안 된다.

FAT16 및 FAT32와 동일한 기본 설계 아이디어를 따르지만, 디스크 상의 '''FATX16''' 및 '''FATX32''' 구조는 단순화되었지만 일반적인 FAT16 및 FAT32 파일 시스템과 근본적으로 호환되지 않아 일반 FAT 파일 시스템 드라이버가 이러한 볼륨을 마운트할 수 없다.

부팅할 수 없는 슈퍼블록 섹터는 4KB 크기이며 일반적인 BPB와 완전히 다른 18바이트 크기의 BPB와 유사한 구조를 가지고 있다. 클러스터는 일반적으로 16KB 크기이며 Xbox에는 FAT 사본이 하나만 있다. 디렉토리 항목 크기는 일반적인 32바이트 대신 64바이트이다. 파일은 OEM 문자 세트를 사용하여 최대 42자 길이의 파일 이름을 가질 수 있으며 크기는 최대 4GB - 1바이트이다. 디스크상의 타임스탬프는 생성, 수정 및 액세스 날짜와 시간을 기록하지만 FAT와 다르다. FAT에서 에포크는 1980년이다. FATX에서 에포크는 2000년이다. Xbox 360에서는 에포크가 1980년이다.

2. 5. exFAT

exFAT(Extended File Allocation Table)는 일명 FAT64라고도 불리며, 윈도우 CE 6.0에서 도입된 파일 시스템이다.[49] 윈도우 XP윈도우 서버 2003에서는 업데이트 KB955704를 설치하여 사용할 수 있고,[49] 윈도우 비스타에서는 서비스 팩 1부터 지원한다. FAT32의 한계를 극복하고자 개발되었으며, 고용량 플래시 메모리 미디어를 위해 설계되었다. 여유 공간 계산 및 파일 삭제 속도가 향상되었다.

exFAT의 가장 큰 특징은 파일 크기 제한이 크게 늘어났다는 점이다. FAT32에서는 파일 하나의 최대 크기가 4GB였지만, exFAT에서는 16엑사바이트까지 지원한다. 이러한 특징 덕분에 exFAT는 플래시 드라이브 및 SDXC, Memory Stick XC와 같은 메모리 카드에 주로 사용된다.

마이크로소프트의 포맷 유틸리티는 NTFS의 대안으로 exFAT를 제공하며, MBR 파티션 유형은 `0x07`이다. 2019년 8월 28일, 마이크로소프트는 exFAT 기술 사양을 공개하여 리눅스 커널 및 기타 운영 체제에서도 사용될 수 있도록 하였다.[12]

2. 6. Turbo FAT

노벨은 자사의 넷웨어 파일 시스템(NWFS)에서 FAT 파일 시스템을 대폭 수정하여 넷웨어 운영 체제에 구현했다. 더 큰 파일의 경우 터보 FAT라는 성능 기능을 활용했다.[1]

2. 7. TFAT / Tex FAT

TFAT와 TexFAT는 각각 FAT와 exFAT 파일 시스템 위에 레이어를 씌운 것으로, 트랜잭션 보안 수준을 제공한다. 이는 전원 공급 중단이나 예기치 않은 드라이브 제거로 인한 데이터 손실 위험을 줄여준다.

FAT32 부트 섹터는 섹터 수를 나타내기 위해 32비트 필드를 사용하므로, 섹터 크기가 512 바이트일 때 최대 FAT32 볼륨 크기는 2 테라바이트로 제한된다. 섹터 크기가 4,096 바이트일 때 최대 FAT32 볼륨 크기는 16 TB이다. Windows NT의 내장 윈도우 셸 디스크 포맷 도구는 최대 32 기가바이트 크기의 볼륨만 지원한다.[7] Windows는 기존의 더 큰 FAT32 볼륨에 대한 읽기 및 쓰기를 지원하며, 이는 명령 프롬프트, PowerShell 또는 타사 도구를 사용하거나, Windows가 아닌 시스템 또는 FAT32를 지원하는 Windows 9x 시스템에서 볼륨을 포맷한 다음 Windows NT 시스템으로 전송하여 만들 수 있다. 2024년 8월, Microsoft는 최대 2TB 크기의 FAT32 파티션을 생성할 수 있도록 Windows 11 프리뷰 빌드에 대한 업데이트를 출시했다.[9]

FAT32 볼륨에서 파일의 최대 크기는 4 기가바이트 - 1 바이트, 즉 4,294,967,295 (232 − 1) 바이트이다. 이 제한은 디렉토리 테이블의 4바이트 파일 길이 항목의 결과이며, 충분한 섹터 크기로 활성화된 비교적 큰 FAT16 파티션에도 영향을 미친다.

FAT12 및 FAT16과 마찬가지로 FAT32는 긴 파일 이름을 직접 내장 지원하지 않지만, FAT32 볼륨은 VFAT 긴 파일 이름을 선택적으로 포함할 수 있다.

3. 기술적 세부 사항

FAT 파일 시스템은 장치에 저장된 인덱스 테이블을 사용하여 파일과 관련된 데이터 저장 영역의 체인을 식별하며, 이를 '''파일 할당 테이블''''(FAT)이라고 한다.[4] FAT는 포맷 시 정적으로 할당된다. 이 테이블은 디스크 저장 영역의 연속된 영역인 각 클러스터에 대한 항목의 연결 리스트이다. 각 항목에는 파일의 다음 클러스터 번호가 포함되어 있거나, 파일의 끝, 사용하지 않은 디스크 공간 또는 디스크의 특수 예약 영역을 나타내는 마커가 포함되어 있다.

디스크의 ''루트 디렉토리''에는 해당 디렉토리의 각 파일의 첫 번째 클러스터 번호가 포함되어 있다. 운영 체제는 FAT를 탐색하여 ''클러스터 체인''으로 각 연속적인 디스크 파일 부분의 클러스터 번호를 조회하여 파일의 끝에 도달할 때까지 탐색한다. ''하위 디렉토리''는 해당 파일의 ''디렉토리 항목''을 포함하는 특수 파일로 구현된다.[4]

FAT 연결 리스트의 각 항목은 고정된 비트 수(12, 16 또는 32)이다. 접근할 수 있는 파일 또는 디스크 드라이브의 최대 크기는 항목에 저장할 수 있는 가장 큰 숫자(할당되지 않은 공간 또는 리스트의 끝을 나타내기 위해 예약된 몇 가지 값 제외)와 디스크 클러스터 크기의 곱이다. 파일을 확장하는 데 1바이트의 저장 공간만 필요하더라도 전체 클러스터를 할당해야 한다. 결과적으로, 많은 수의 작은 파일은 최소 클러스터 크기를 충족하기 위해 대부분 "비어 있는" 데이터를 포함할 수 있는 할당된 클러스터를 초래할 수 있다.

원래 8비트 파일 시스템으로 설계되었으므로, 디스크 드라이브 용량이 증가함에 따라 최대 클러스터 수도 증가해야 했고, 따라서 각 클러스터를 식별하는 데 사용되는 비트 수가 증가했다. FAT 형식의 연속적인 주요 변형은 테이블 요소 비트 수(FAT12, FAT16, FAT32)의 이름을 따서 명명되었다.

플로피 디스크(이후 하드 디스크도)의 기록 단위로 섹터가 있으며, 1개 이상의 섹터를 묶어 클러스터로 관리한다. FAT는 일종의 클러스터 번호에 의한 거대한 1차원 배열이며, 디스크의 처음부터 마지막까지의 클러스터 번호마다 해당 클러스터가 사용 중인지, 빈 영역인지 (또는 시스템 예약 영역, 배드 클러스터) 등의 상태를 유지한다.

디스크상의 하나의 파일은 1개 이상의 클러스터의 연쇄로 관리된다. 파일의 첫 번째 클러스터 번호가 디렉터리 엔트리에 저장되어 있으며, 파일의 첫 번째 데이터는 해당 클러스터 번호의 영역에 저장되어 있다. 그리고 첫 번째 클러스터 번호에 해당하는 FAT상의 엔트리는 그 다음에 연결될 클러스터 번호를 보존하거나, 최종 클러스터임을 나타내는 마크를 유지한다.

FAT는 디스크 관리상 가장 중요한 데이터 테이블이며, 이 정보가 손상되면 디스크상의 파일 등이 정상적으로 읽히지 않게 된다. 따라서 FAT를 구현하는 파일 시스템에서는 FAT 테이블의 여러 복사본을 유지하는 것이 일반적이다.

DISK-BASIC 시대에는 FAT가 마운트 명령에 의해 주 기억 장치에 읽혀져 파일의 갱신과 함께 주 기억 장치에서만 갱신되고, 언마운트 명령에 의해 처음으로 디스크에 다시 기록되었다. 이는 파일 갱신 시마다 FAT에 다시 기록하지 않도록 속도를 높인 사양이었지만, 사용자가 언마운트 명령을 실행하는 것을 잊어 FAT만 오래된 상태로 남아 파일 불일치가 발생하여 데이터를 손상시키는 사고가 빈번하게 발생했다.

MS-DOS 이후에는 버퍼링, 지연 쓰기를 통해 디스크의 최종 쓰기까지 FAT를 자동 재기록하는 사양으로 변경되어, 액세스 도중에 디스크를 뽑지 않는 한 데이터 불일치가 발생할 우려는 거의 없어졌다.

3. 1. 파일 할당 테이블 (FAT)

파일 할당 테이블(FAT) 파일 시스템은 빌 게이츠와 마크 맥도널드가 1976년부터 1977년까지 개발하였다.[46][47] DR-DOS, 프리도스, MS-DOS, OS/2 (v1.1) 및 마이크로소프트 윈도우(윈도우 미까지)를 포함한 다양한 운영 체제에서 주로 사용되었다.

마이크로소프트 독립형 디스크 베이직의 디스크 관리를 위해 만들어졌으며, 1980년 8월에 팀 패터슨S-100 8086 CPU 기판을 위한 86-DOS 운영 체제에 도입하였다.[46] 86-DOS와 CP/M의 주요 차이점이었다.

FAT라는 이름은 파일이 어느 영역에 속하는지, 공간에 여유가 있는지, 파일이 디스크 어디에 저장되어 있는지에 대한 정보를 담은 테이블을 사용하는 데서 유래한다. 테이블 크기를 제한하기 위해 클러스터라는 하드웨어 섹터의 인접한 그룹에 디스크 공간이 할당된다. 디스크 드라이브가 발전하면서 클러스터 최대 수가 늘어났고, 각 클러스터를 인식하는 데 사용되는 비트 수도 늘어났다. FAT 포맷의 주요 버전은 12, 16, 32와 같이 이름이 붙여졌다. FAT 표준은 기존 소프트웨어와의 하위 호환성을 유지하면서 확장되었다.

FAT는 EFI 호환 컴퓨터의 부팅 단계에서 EFI 시스템 파티션 내부에서 사용된다. 최신 PC의 UEFI 부팅 파티션에서도 숨겨진 FAT 파일 시스템이 사용된다.

FAT는 공유된 윈도우, 리눅스 및 DOS 환경과 같이 여러 운영 체제에서 사용될 것으로 예상되는 드라이브에서 여전히 사용된다. Microsoft Windows는 FAT 파일 시스템을 NTFS로 직접 변환하는 도구를 제공하지만, 이 작업은 쉽게 되돌릴 수 없다.[4] FAT 파일 시스템은 플로피 디스크, 슈퍼플로피, 메모리 카드플래시 메모리 카드 또는 USB 플래시 드라이브와 같은 이동식 미디어에서 사용된다. FAT는 PDA, 디지털 카메라, 캠코더, 휴대용 미디어 플레이어 및 휴대폰과 같은 휴대용 장치에서 지원된다.

1998년 이후 거의 모든 디지털 카메라에서 채택한 DCF 파일 시스템은 8.3 파일 이름을 사용하는 논리적 파일 시스템을 정의하며, 호환성을 위해 FAT12, FAT16, FAT32 또는 exFAT를 물리 계층에 필수적으로 사용하도록 한다.

파일 시스템은 장치에 저장된 인덱스 테이블(파일 할당 테이블)을 사용하여 파일과 관련된 데이터 저장 영역의 체인을 식별한다. FAT는 포맷 시 정적으로 할당된다. 이 테이블은 디스크 저장 영역의 연속된 영역인 각 ''클러스터''에 대한 항목의 연결 리스트이다. 각 항목에는 파일의 다음 클러스터 번호, 파일의 끝, 사용하지 않은 디스크 공간 또는 디스크의 특수 예약 영역을 나타내는 마커가 포함되어 있다. 디스크의 ''루트 디렉토리''에는 해당 디렉토리의 각 파일의 첫 번째 클러스터 번호가 포함되어 있다. 운영 체제는 FAT를 탐색하여 ''클러스터 체인''으로 각 연속적인 디스크 파일 부분의 클러스터 번호를 조회하여 파일의 끝에 도달할 때까지 탐색한다. ''하위 디렉토리''는 해당 파일의 ''디렉토리 항목''을 포함하는 특수 파일로 구현된다.

FAT 연결 리스트의 각 항목은 고정된 비트 수(12, 16 또는 32)이다. 접근할 수 있는 파일 또는 디스크 드라이브의 최대 크기는 항목에 저장할 수 있는 가장 큰 숫자(할당되지 않은 공간 또는 리스트의 끝을 나타내기 위해 예약된 몇 가지 값 제외)와 디스크 클러스터 크기의 곱이다. 파일을 확장하는 데 1바이트의 저장 공간만 필요하더라도 전체 클러스터를 할당해야 한다. 결과적으로, 많은 수의 작은 파일은 최소 클러스터 크기를 충족하기 위해 대부분 "비어 있는" 데이터를 포함할 수 있는 할당된 클러스터를 초래할 수 있다.

원래 8비트 파일 시스템으로 설계되었으므로, 디스크 드라이브 용량이 증가함에 따라 최대 클러스터 수도 증가해야 했고, 따라서 각 클러스터를 식별하는 데 사용되는 비트 수가 증가했다. FAT 형식의 연속적인 주요 변형은 테이블 요소 비트 수(FAT12, FAT16, FAT32)의 이름을 따서 명명되었다.

1977년빌 게이츠와 마크 맥도널드에 의해 개발되었으며, DISK-BASIC 내 파일 관리 사양으로 채택되었다. 이후 MS-DOS 파일 시스템에서도 FAT가 채택되었고, MS-DOS가 DOS로서의 사실상의 표준을 확립했으며, Windows NT에서 새로운 파일 시스템 NTFS를 보급시킨 후에도 FAT를 채택한 파일 시스템은 계속 사용되고 있다.

MS-DOS 이후에는 Windows Me까지 일반 가정용 OS의 표준 파일 포맷으로 사용되었다. 윈도우 NT 계열의 OS에서도 사용할 수 있지만, 다른 Windows로부터의 업그레이드나 이동식 미디어를 위해 마련된 것이며, 보안 등의 관점에서 반드시 이용이 권장되지는 않는다. FAT를 이용하는 상황에서의 동작 제한도 존재한다.

플로피 디스크 시대의 설계를 바탕으로 하여, 디스크 총 용량에 비해 관리 영역이 적게 든다는 장점이 있지만, 견고하지 않고, 대용량 디스크에서는 비효율적이며, 확장성이 부족하다는 단점이 있다. 또한, 파일명이 8자 + 확장자 3자까지만 처리할 수 있고(VFAT 미지원 시), 타임 스탬프가 로컬 시간이므로 시간대를 넘어 사용하거나 서머타임·동절기가 다르면 올바른(의도한) 파일 변경 시각이 표시되지 않을 수 있다. 그럼에도 불구하고, 구현의 용이함과 읽고 쓸 수 있는 운영 체제가 많다는 점 때문에, 플로피 디스크나 소용량 메모리 카드용 파일 시스템으로 여전히 사용되고 있다. 현재는 디지털 카메라비디오 게임 기기 등에서도 널리 사용되고 있다.

FAT는 클러스터 번호 관리 비트 수에 따라 "FAT12", "FAT16", "FAT32"의 3가지 종류가 있다(DISK-BASIC에서는 8비트였다). Windows에서는 FAT32를 제외하고 FAT로 표시하고 있다. 속칭 "FAT64"라는 기술은 "Windows NT 계열에서 사용할 수 있는 클러스터 크기가 64킬로바이트인 FAT16"[27] 또는 "exFAT"[28]를 가리키며, 마지막 숫자 "64"는 클러스터 번호의 비트 수를 나타내는 것이 아니다.

이동식 미디어의 파일 포맷으로는 FAT16 또는 FAT32가 많이 사용되고 있지만, 볼륨 및 파일 크기 제한이 문제가 되고 있다. 이 외에도 여러 가지 문제를 해결하기 위해 exFAT가 개발되었다.

VFAT 및 exFAT를 제외한 사양은 국제 규격으로 ECMA-107과 ISO/IEC 9293으로 표준화되어 있다. 일본에서는 JIS X 0605 규격으로 등록되어 있다.

플로피 디스크 (이후 하드 디스크도)의 기록 단위로 섹터가 있으며, 1개 이상의 섹터를 묶어 클러스터로 관리한다. FAT는 일종의 클러스터 번호에 의한 거대한 1차원 배열이며, 디스크의 처음부터 마지막까지의 클러스터 번호마다 해당 클러스터가 사용 중인지, 빈 영역인지 (또는 시스템 예약 영역, 배드 클러스터: 에러) 등의 상태를 유지한다.

디스크상의 하나의 파일은 1개 이상의 클러스터의 연쇄로 관리된다. 어떤 파일의 첫 번째 클러스터 번호가 디렉터리 엔트리에 저장되어 있으며, 파일의 첫 번째 데이터는 해당 클러스터 번호의 영역에 저장되어 있다. 그리고 첫 번째 클러스터 번호에 해당하는 FAT상의 엔트리는 그 다음에 연결될 클러스터 번호를 보존하거나, 또는 거기가 최종 클러스터임을 나타내는 마크를 유지한다.

FAT는 디스크 관리상 가장 중요한 데이터 테이블이며, 이 정보가 손상되면 디스크상의 파일 등이 정상적으로 읽히지 않게 된다. 따라서 FAT를 구현하는 파일 시스템에서는 FAT 테이블의 여러 복사본을 유지하는 것이 일반적이다.

DISK-BASIC 시대에는 FAT가 마운트 명령(BASIC의 명령 이름은 `MOUNT`)에 의해 주 기억 장치에 읽혀져, 파일의 갱신과 함께 주 기억 장치에서만 갱신되고, 언마운트 명령(BASIC의 명령 이름은 `REMOVE`)에 의해 처음으로 디스크에 다시 기록되었다. 이는 파일을 갱신할 때마다 FAT에 다시 기록하지 않도록 속도를 높인 사양이었지만, 사용자가 언마운트 명령을 실행하는 것을 잊어버려 FAT만 오래된 상태로 남아 파일의 불일치가 발생하여 데이터를 손상하는 사고가 빈번하게 발생했다.

MS-DOS 이후에는 버퍼링, 지연 쓰기를 통해 디스크의 최종 쓰기까지 FAT를 반드시 자동으로 다시 기록하는 사양으로 변경되어, 액세스 도중에 디스크를 뽑지 않는 한 데이터 불일치가 발생할 우려는 거의 없어졌고, 마운트 및 언마운트를 사용자가 의식할 필요가 없어졌다 (다만, USB 연결의 대용량 이동식 미디어의 보급으로 지연 쓰기의 플래시 보증을 위해 "하드웨어 안전 제거"로 재인식하게 되었다).

3. 2. 클러스터

FAT는 포맷 시 정적으로 할당되는 디스크 저장 영역의 연속된 영역인 ''클러스터''에 대한 항목의 연결 리스트이다. 각 항목에는 파일의 다음 클러스터 번호가 포함되어 있거나, 파일의 끝, 사용하지 않은 디스크 공간 또는 디스크의 특수 예약 영역을 나타내는 마커가 포함되어 있다. 디스크의 ''루트 디렉토리''에는 해당 디렉토리의 각 파일의 첫 번째 클러스터 번호가 포함되어 있다. 운영 체제는 FAT를 탐색하여 ''클러스터 체인''으로 각 연속적인 디스크 파일 부분의 클러스터 번호를 조회하여 파일의 끝에 도달할 때까지 탐색한다. ''하위 디렉토리''는 해당 파일의 ''디렉토리 항목''을 포함하는 특수 파일로 구현된다.[4]

FAT 연결 리스트의 각 항목은 고정된 비트 수(12, 16 또는 32)이다. 접근할 수 있는 파일 또는 디스크 드라이브의 최대 크기는 항목에 저장할 수 있는 가장 큰 숫자(할당되지 않은 공간 또는 리스트의 끝을 나타내기 위해 예약된 몇 가지 값 제외)와 디스크 클러스터 크기의 곱이다. 파일을 확장하는 데 1바이트의 저장 공간만 필요하더라도 전체 클러스터를 할당해야 한다. 결과적으로, 많은 수의 작은 파일은 최소 클러스터 크기를 충족하기 위해 대부분 "비어 있는" 데이터를 포함할 수 있는 할당된 클러스터를 초래할 수 있다.

플로피 디스크(이후 하드 디스크도)의 기록 단위로 섹터가 있으며, 1개 이상의 섹터를 묶어 클러스터로 관리한다. FAT는 일종의 클러스터 번호에 의한 거대한 1차원 배열이며, 디스크의 처음부터 마지막까지의 클러스터 번호마다 해당 클러스터가 사용 중인지, 빈 영역인지 (또는 시스템 예약 영역, 배드 클러스터: 에러) 등의 상태를 유지한다.

하나의 파일은 1개 이상의 클러스터의 연쇄로 관리된다. 어떤 파일의 첫 번째 클러스터 번호가 디렉터리 엔트리에 저장되어 있으며, 파일의 첫 번째 데이터는 해당 클러스터 번호의 영역에 저장되어 있다. 첫 번째 클러스터 번호에 해당하는 FAT상의 엔트리는 그 다음에 연결될 클러스터 번호를 보존하거나, 또는 거기가 최종 클러스터임을 나타내는 마크를 유지한다.

3. 3. 디렉터리

FAT는 디스크 저장 영역의 연속된 영역인 ''클러스터''에 대한 항목의 연결 리스트이다. 각 항목에는 파일의 다음 클러스터 번호가 포함되어 있거나, 파일의 끝, 사용하지 않은 디스크 공간 또는 디스크의 특수 예약 영역을 나타내는 마커가 포함되어 있다. 디스크의 ''루트 디렉터리''에는 해당 디렉터리의 각 파일의 첫 번째 클러스터 번호가 포함되어 있다. 그런 다음 운영 체제는 FAT를 탐색하여 ''클러스터 체인''으로 각 연속적인 디스크 파일 부분의 클러스터 번호를 조회하여 파일의 끝에 도달할 때까지 탐색한다. ''하위 디렉터리''는 해당 파일의 ''디렉터리 항목''을 포함하는 특수 파일로 구현된다.[4]

플로피 디스크(이후 하드 디스크도)의 기록 단위로 섹터가 있으며, 1개 이상의 섹터를 묶어 클러스터로 관리한다. FAT는 일종의 클러스터 번호에 의한 거대한 1차원 배열이며, 디스크의 처음부터 마지막까지의 클러스터 번호마다 해당 클러스터가 사용 중인지, 빈 영역인지(또는 시스템 예약 영역, 배드 클러스터: 에러) 등의 상태를 유지한다.

디스크상의 하나의 파일은 1개 이상의 클러스터의 연쇄로 관리된다. 즉, 어떤 파일의 첫 번째 클러스터 번호가 디렉터리 엔트리에 저장되어 있으며, 파일의 첫 번째 데이터는 해당 클러스터 번호의 영역에 저장되어 있다. 그리고 첫 번째 클러스터 번호에 해당하는 FAT상의 엔트리는 그 다음에 연결될 클러스터 번호를 보존하거나, 또는 거기가 최종 클러스터임을 나타내는 마크를 유지한다.

4. 변형

FAT 파일 시스템에는 여러 변형이 있다. 대표적으로 FAT12, FAT16, FAT32 등이 있다. FAT16은 16비트 너비의 클러스터 항목을 가진 원래의 FAT 파일 시스템과 그 이후의 변형을 모두 지칭한다.

VFAT는 모든 FAT 파일 시스템에서 작동 가능한 긴 파일 이름(Long File Name, LFN)을 지원하기 위한 선택적 확장이다. VFAT 긴 파일 이름을 사용하는 볼륨은 VFAT 확장을 지원하지 않는 운영 체제에서도 읽을 수 있도록 설계되었다.

FAT32는 1996년 윈도우 95 OSR2 (MS-DOS 7.1)에서 처음 도입되었으며, 윈도우 98은 데이터 손실 없이 FAT16에서 FAT32로 변환하는 유틸리티를 제공하였다. 윈도우 NT 계열에서는 윈도우 2000부터 FAT32를 기본 지원했다. 1998년부터 Caldera의 DRFAT32 드라이버를 통해 DR-DOS에서 FAT32 지원을 활성화할 수 있었다. DR-DOS에서 FAT32 및 LBA 액세스를 기본 지원하는 첫 버전은 1999년 OEM DR-DOS 7.04였다.

FAT32 파티션용으로 예약된 파티션 유형은 `0x0B`와 `0x0C` 두 가지이다. `0x0C` 유형은 CHS 대신 LBA 디스크 액세스를 사용하기 위해 '''FAT32X'''라고도 불린다.

FAT12FAT16FAT32exFAT
최대 파일 크기32MiB2GiB
4GiB (NT)
4GiB - 1 byte16EiB
클러스터 크기512byte ~ 32KiB512byte ~ 32KiB(64KiB NT 계열, 섹터 크기가 512byte보다 큰 경우에는 256KiB)512byte ~ 32KiB(64KiB NT 계열, 섹터 크기가 512byte보다 큰 경우에는 256KiB)512byte ~ 32MiB
최대 파일 수4,07765,517268,435,437디렉토리당 2,796,202
최대 볼륨 크기32MiB2GiB
4GiB (NT)
2TiB
8TiB(2KiB 섹터)
TBU



이 외에도, FATX, exFAT 등의 변형이 있다.

4. 1. FAT12

MS-DOS 초기부터 주로 쓰였으며, 플로피 디스크에서는 여전히 이용된다. FAT는 EFI 호환 컴퓨터의 부팅 단계에서 EFI 시스템 파티션 내부에서 사용된다. 숨겨진 FAT 파일 시스템은 최신 PC의 UEFI 부팅 파티션에서도 사용된다.

FAT 파일 시스템은 플로피 디스크, 슈퍼플로피, 메모리 카드, 플래시 메모리 카드, USB 플래시 드라이브와 같은 이동식 미디어에서 사용된다.

1998년 이후 거의 모든 디지털 카메라에서 채택한 DCF 파일 시스템은 8.3 파일 이름을 사용하는 논리적 파일 시스템을 정의하며, 호환성을 위해 FAT12, FAT16, FAT32 또는 exFAT를 물리 계층에 필수적으로 사용하도록 한다.

FAT12는 클러스터 주소에 12비트 항목을 사용했으며, 일부 값은 클러스터 체인의 끝을 표시하거나, 디스크의 사용할 수 없는 영역을 표시하거나, 다른 목적으로 예약되어 최대 클러스터 수가 4078개로 제한되었다. 디스크 공간을 절약하기 위해 두 개의 12비트 FAT 항목은 디스크에서 세 개의 연속된 8비트 바이트를 사용하므로 12비트 값을 풀기 위해 조작이 필요했다. 이는 원래 플로피 디스크 드라이브와 최대 32MB의 소형 하드 디스크에 충분했다.

86-DOS는 8인치(200 mm) 플로피 드라이브에서 세 가지 디스크 형식(250.25 KB, 616 KB, 1232 KB, FAT ID 0xFF0xFE)을 지원했지만, 1981년에 최초의 IBM 개인용 컴퓨터와 함께 출시된 IBM PC DOS 1.0은 단면 5.25인치 플로피 드라이브에 대해 160 KB(FAT ID 0xFE)의 포맷된 용량을 가진 8섹터 플로피 형식만 지원했으며, PC DOS 1.1은 320 KB(FAT ID 0xFF)의 양면 형식을 추가로 지원했다. PC DOS 2.0은 180 KB(FAT ID 0xFC) 및 360 KB(FAT ID 0xFD)의 9섹터 플로피 형식에 대한 지원을 도입했다.

86-DOS 1.00 및 PC DOS 1.0 디렉터리 항목에는 마지막 수정 날짜만 포함되어 있었다. PC DOS 1.1은 마지막 수정 시간을 추가했다.

PC XT는 IBM에서 제공한 하드 드라이브가 있는 최초의 PC였으며, PC DOS 2.0은 FAT12(FAT ID 0xF8)를 사용하여 해당 하드 드라이브를 지원했다. 하드 디스크에서 클러스터당 8 섹터라는 고정된 가정은 512 바이트 섹터와 4 KB 클러스터의 최대 파티션 크기를 16 MB로 제한했다.

MS-DOS 3.0은 트랙당 15 섹터가 있는 고밀도 1.2 MB 5.25인치 디스켓(미디어 설명자 0xF9)에 대한 지원을 도입했으므로 FAT를 위한 더 많은 공간이 있었다.

FAT12는 1.44 MB 및 이후 2.88 MB 디스크(미디어 설명자 바이트 0xF0)를 포함하여 모든 일반적인 플로피 디스크에서 계속 사용된다.

초기의 FAT 파일 시스템은 현재 FAT12로 불린다. 12비트의 클러스터 식별자를 사용하며, 총 클러스터 수는 최대 4084개이다. 클러스터 크기는 512바이트에서 32KiB까지 사용할 수 있다. 그러나 볼륨의 총 섹터 수가 16비트로 관리되기 때문에, 섹터 크기가 512바이트인 경우 볼륨 크기는 32MiB까지이다. 현재는 주로 플로피 디스크의 포맷으로 남아있다.

4. 2. FAT16

FAT16은 32메가바이트 이상의 하드 디스크를 지원하기 위해 MS-DOS 3.0과 함께 나왔으며 윈도우 95까지 주로 이용되었다. 최대 2기가바이트 파티션을 지원한다.[48] 용량이 적은 이동식 드라이브에서는 아직까지 고유 형식으로 자리잡혀 있다.

FAT16은 16비트 클러스터 식별자를 이용한 FAT로, 총 클러스터 수는 최대 65,524개이다. 클러스터 크기는 512바이트부터 32KiB(NT 계열에서는 64KiB)까지 사용할 수 있다.[29] 볼륨 크기는 2GiB(NT 계열에서는 4GiB)까지이다. 처음에는 볼륨의 총 섹터 수가 FAT12와 마찬가지로 16비트로 관리되었기 때문에, 섹터 크기가 512바이트인 경우 볼륨 크기는 32MiB까지였지만, Compaq DOS 3.31에서 총 섹터 수를 32비트로 관리하도록 확장되어 이 제한은 없어졌다.[30]

MS-DOS는 4.0 이후에 32비트의 총 섹터 수에 대응했지만, 일본 내에서는 PC-98용 MS-DOS 4.0은 발매되지 않았고, 32비트 섹터에의 대응은 MS-DOS 5.0까지 기다려야 했다. 그 대신, PC-98용 MS-DOS 3.3에서는 512바이트의 물리 섹터를 4개 묶어 2KiB의 논리 섹터로 취급함으로써 128MiB까지의 볼륨 크기에 대응했다. 또한, 세이코 엡손이 PC-286 시리즈용 MS-DOS 4.01을 발매했으며, 이것을 PC-9800 시리즈에서 사용할 수도 있었다.

4. 3. VFAT

VFAT(Virtual FAT)는 긴 파일 이름(Long File Name, LFN)을 FAT (12/16/32)에서 처리할 수 있도록 하는 확장 기능이다. LFN은 Windows NT 3.5[31] 및 Windows 95부터 구현된 기능으로, 최대 255자(UTF-16 LE로 처리되므로 1문자당 2바이트)까지의 파일 이름을 부여할 수 있다[32](단, Windows 9x 계열에서는 구현상 255바이트까지만 처리할 수 있다). 파일 시스템 상에서는 디렉터리 엔트리 처리가 약간 다를 뿐이며, 하위 호환성은 불충분하지만 유지된다.

VFAT는 FAT 호환 8.3 파일 이름 형식의 짧은 파일 이름 바로 앞의 디렉터리 엔트리에 볼륨 레이블 비트가 설정된 엔트리가 있는 경우, 그것을 이 파일의 긴 파일 이름이라고 해석한다. 따라서 기존의 FAT만 지원하는 운영 체제에서 VFAT를 참조하는 경우에는 짧은 파일 이름만 보이게 되어, 일단 액세스는 가능하다. 그러나 파일 쓰기를 수행하거나, MS-DOS 시대의 디렉터리 엔트리를 최적화하는 프로그램이나 도구를 사용한 경우, 긴 파일 이름이 손상되므로, 호환성이 불충분하다고 여겨진다.

VFAT는 원래 Windows 3.1부터 Windows Me까지 이어져 온 가상 장치 드라이버 중 하나(VFAT.VXD)를 의미했다. 이는 ( 보호 모드로 동작하는) Windows 응용 소프트웨어상에서 MS-DOS 파일을 액세스할 때, ( 리얼 모드로 동작하는) MS-DOS 시스템을 호출하지 않아도 되도록 하기 위한 것이다. 초기 VFAT 드라이버(Windows 95 이전)에서는 LFN을 지원하지 않았다.

4. 4. FAT32

FAT32는 2기가바이트 이상의 하드디스크를 지원하며, 윈도우 95 OSR2부터 이 파일 시스템을 사용할 수 있다.[4] 윈도우 98, 윈도우 미와 같은 구형 운영 체제나, 리눅스, OS X과 같은 운영 체제에서 윈도우와 호환성이 필요할 때, 또는 디지털카메라, 게임기 등에서도 이용된다.

FAT32에서는 하나의 파일은 최대 4기가바이트-1바이트(4,294,967,295 바이트, 232 − 1)의 용량을 가질 수 있다. 이는 디렉토리 테이블의 4바이트 파일 길이 항목의 결과이며, 충분한 섹터 크기로 활성화된 비교적 큰 FAT16 파티션에도 영향을 미친다. 하나의 파티션은 최대 8테라바이트의 용량을 가질 수 있고, 최대 268,435,437개의 파일을 담을 수 있다.

윈도우 XP 등에 내장된 디스크 관리자 유틸리티에서는 32기가바이트 이상의 하드디스크를 파티션할 때 FAT32를 선택할 수 없고 NTFS만 나오지만, 별도 유틸리티를 이용하거나 다른 운영 체제에서 파티션을 설정하면 문제 없이 사용할 수 있다.

클러스터의 크기가 작아 하드디스크의 낭비를 줄일 수 있으며, FAT16보다 효율적으로 하드디스크를 이용한다. 물리적 드라이브의 크기에 따라서 클러스터의 크기를 다르게 설정한다.

FAT는 EFI 호환 컴퓨터의 부팅 단계에서 EFI 시스템 파티션 내부에서 사용된다. 숨겨진 FAT 파일 시스템은 최신 PC의 UEFI 부팅 파티션에서도 사용된다.

FAT12 및 FAT16과 마찬가지로 FAT32는 긴 파일 이름을 직접 내장 지원하지 않지만, FAT32 볼륨은 VFAT 긴 파일 이름이 FAT12 및 FAT16 볼륨에 선택적으로 구현된 것과 정확히 동일한 방식으로 짧은 파일 이름과 함께 VFAT 긴 파일 이름을 선택적으로 포함할 수 있다.

FAT12FAT16FAT32exFAT
최대 파일 크기32MiB2GiB
4GiB (NT)
4GiB - 1 byte16EiB
클러스터 크기512byte ~ 32KiB512byte ~ 32KiB(NT 계열에서는 64KiB, 섹터 크기가 512바이트보다 큰 경우에는 256KiB512byte ~ 32KiB(NT 계열에서는 64KiB, 섹터 크기가 512바이트보다 큰 경우에는 256KiB512byte ~ 32MiB
최대 파일 수4,07765,517268,435,437디렉토리당 2,796,202
최대 볼륨 크기32MiB2GiB
4GiB (NT)
2TiB
8TiB(2KiB 섹터)
TBU


4. 5. FATX

FATX는 FAT 파일 시스템을 수정한 버전으로, 마이크로소프트의 Xbox 게임기 하드 디스크 드라이브와 메모리 카드를 위해 설계되었다. FATX는 exFAT와 혼동해서는 안 된다.

FATX는 FAT16 및 FAT32와 동일한 기본 설계 아이디어를 따르지만, 디스크 상의 '''FATX16''' 및 '''FATX32''' 구조는 단순화되었지만 일반적인 FAT16 및 FAT32 파일 시스템과 근본적으로 호환되지 않아 일반 FAT 파일 시스템 드라이버가 이러한 볼륨을 마운트할 수 없다.

부팅할 수 없는 슈퍼블록 섹터는 4KB 크기이며 일반적인 BPB와 완전히 다른 180억 크기의 BPB와 유사한 구조를 가지고 있다. 클러스터는 일반적으로 16KB 크기이며 Xbox에는 FAT 사본이 하나만 있다. 디렉토리 항목 크기는 일반적인 320억 대신 640억이다. 파일은 OEM 문자 세트를 사용하여 최대 42자 길이의 파일 이름을 가질 수 있으며 크기는 최대 4GB - 10억이다. 디스크상의 타임스탬프는 생성, 수정 및 액세스 날짜와 시간을 기록하지만 FAT와 다르다. FAT에서 에포크는 1980년이다. FATX에서 에포크는 2000년이다. Xbox 360에서는 에포크가 1980년이다.

4. 6. exFAT

윈도우 XP윈도우 서버 2003 사용자들은 마이크로소프트로부터 업데이트 KB955704를 내려받아 설치하면 exFAT 지원을 사용할 수 있다.[49] 윈도우 비스타의 경우 서비스 팩 1, 윈도우 임베디드 CE 6.0부터 지원한다. FAT32의 한계를 극복하고자 개발되었으며 고용량의 플래시 메모리 미디어를 위한 파일 시스템이다. 여유공간 계산과 파일 삭제 속도가 향상되었다. FAT32에서 파일의 최대 크기가 4기가바이트인 반면, exFAT에서는 16엑사바이트가 파일의 최대 크기가 된다.

exFAT는 2006년 11월 Windows Embedded CE 6.0에서 도입된 파일 시스템으로, Vista 서비스 팩 1 및 Windows XP 서비스 팩 3과 함께 Windows NT 계열로 도입되었다. (또는 Windows XP 업데이트 KB955704 별도 설치) 이는 파일 할당 테이블 아키텍처를 기반으로 하지만, 호환되지 않으며, 독점적이며 특허로 보호된다.

exFAT는 FAT32가 사용되는 플래시 드라이브메모리 카드 (예: SDXC 및 Memory Stick XC)에서 사용하기 위한 것이다. 일반적으로 공급업체는 SDXC 카드를 exFAT로 미리 포맷한다. exFAT의 주요 장점은 파일 크기 제한이 4 GB를 초과한다는 점이다. 파일 크기 참조가 4바이트 대신 8바이트로 저장되어 제한이 264 - 1 바이트로 증가한다.

마이크로소프트의 GUI 및 명령줄 포맷 유틸리티는 NTFS (및 더 작은 파티션의 경우 FAT16B 및 FAT32)의 대안으로 exFAT를 제공한다. MBR 파티션 유형은 0x07이다. (이는 IFS, HPFS 및 NTFS에 사용되는 것과 동일하다.)

2010년 초, 이 파일 시스템은 역공학을 통해 SANS 연구소에 의해 분석되었다.[11] 2019년 8월 28일, 마이크로소프트는 exFAT가 Linux 커널 및 기타 운영 체제에서 사용될 수 있도록 기술 사양을 발표했다.[12]

볼륨 및 파일 크기 제한 등의 여러 가지 문제를 해결하기 위해 exFAT가 개발되었다.

5. 논란 및 소송

공공 특허 재단(PUBPAT)은 2004년 미국 특허청(USPTO)에 미국 특허 5,579,517의 유효성에 이의를 제기하는 증거를 제출했으며,[13] 여기에는 제록스 및 IBM의 선행 기술 참고 자료가 포함되었다.[19] 미국 특허청은 조사를 시작하여 특허의 모든 청구를 기각하는 것으로 결론을 내렸다.[20] 다음 해에 미국 특허청은 재심사 절차에 따라 '517의 기각을 확인하고 특허의 양수인이 잘못되었음을 근거로 미국 특허 5,758,352[15]를 무효로 판결했다고 발표했다.

그러나 2006년 미국 특허청은 마이크로소프트의 FAT 시스템 구현 기능이 "새롭고 명백하지 않다"고 판결하여 이전의 두 결정을 모두 뒤집고 특허를 유효하게 유지했다.

2009년 2월, 마이크로소프트는 특허 침해 소송을 제기하여 톰톰이 VFAT 긴 파일 이름과 관련된 특허를 침해했다고 주장했다. 일부 톰톰 제품이 리눅스를 기반으로 함에 따라 마이크로소프트가 리눅스 플랫폼에 대해 특허를 시행하려 한 것은 이번이 처음이었다. 소송은 다음 달, 마이크로소프트가 톰톰의 특허 4건에 접근할 수 있게 하고, 톰톰이 제품에서 VFAT 긴 파일 이름 지원을 중단하며, 그 대가로 마이크로소프트가 합의 기간 5년 동안 톰톰에 대한 법적 조치를 취하지 않는다는 내용의 합의로 법정 밖에서 해결되었다.

2010년 10월, 마이크로소프트는 모토로라를 상대로 여러 특허(VFAT 특허 2건 포함)가 안드로이드 운영 체제에서 사용 허가가 없다고 주장하며 특허 침해 소송을 제기했다. 또한 미국 국제 무역 위원회(ITC)에 불만을 제기했다.

오픈 소스 소프트웨어 개발자들은 마이크로소프트의 특허를 회피하기 위한 방법을 설계했다.

2013년에는 특허 EP0618540 "긴 파일 이름과 짧은 파일 이름에 대한 공통 이름 공간"(2014년 만료)[21]이 독일에서 무효화되었다.[22] 항소가 철회된 후, 이 판결은 2015년 10월 28일에 확정되었다.[23]

참조

[1] 문서
[2] 웹사이트 Comparing NTFS and FAT file systems http://windows.micro[...] Microsoft 2014-01-27
[3] 웹사이트 A brief introduction to FAT (File Allocation Table) formats https://web.archive.[...] 2015-09-24
[4] 웹사이트 How to Convert a Drive from FAT32 to NTFS without Data Loss https://windowsloop.[...] 2021-07-11
[5] 웹사이트 Microsoft Knowledge Base article: "MS-DOS Partitioning Summary" http://c-bit.org/kb/[...] 2018-06-02
[6] 문서
[7] 웹사이트 Explained: The thinking behind the 32GB Windows Format limit on FAT32 https://www.theregis[...]
[8] 웹사이트 How to Format USB Drives Larger Than 32GB With FAT32 on Windows https://www.howtogee[...] 2017-07-20
[9] 웹사이트 Windows 11 preview build sees FAT32 partition size increased to 2TB after 30 years https://www.tomshard[...] 2024-08-16
[10] 웹사이트 DR-DOS/OpenDOS Enhancement Project http://www.drdosproj[...] 2011-07-21
[11] 웹사이트 Reverse Engineering the Microsoft exFAT File System {{pipe}} SANS Institute https://www.sans.org[...] 2021-03-20
[12] 웹사이트 exFAT in the Linux kernel? Yes! https://cloudblogs.m[...] 2019-08-28
[13] 특허 Common name space for long and short filenames
[14] 특허 Method and system for accessing a file using file names having different file name formats
[15] 특허 Common name space for long and short filenames
[16] 특허 Method and system for providing a common name space for long and short file names in an operating system
[17] Youtube EFI and Linux: the future is here, and it's awful https://www.youtube.[...] YouTube 2012-01-19
[18] 특허 System for accessing extended object attribute (EA) data through file name or EA handle linkages in path tables
[19] 웹사이트 PUBPAT's Request for Reexamination of Microsoft's FAT Patent http://www.pubpat.or[...] "[[Public Patent Foundation]]" 2004-04-15
[20] 웹사이트 Patent Office's Office Action Rejecting Microsoft FAT Patent http://www.pubpat.or[...] "[[Public Patent Foundation]]" 2004-09-30
[21] 특허 Common name space for long and short filenames https://patents.goog[...]
[21] 웹사이트 EP0618540B1 - Common name space for long and short filenames - Google Patents https://patents.goog[...]
[22] 웹사이트 Federal Patent Court of Germany invalidates Microsoft FAT patent, appeals court may disagree http://www.fosspaten[...] FOSS Patents 2013-12-05
[23] 웹사이트 Bundespatentgericht erklärt VFAT-Patent erneut für nichtig https://www.ifross.o[...] ifrOSS 2017-05-28
[24] 문서
[25] 문서
[26] 문서
[27] 웹사이트 鈴木直美の「PC Watch先週のキーワード」 https://pc.watch.imp[...] 1998-10-01
[28] 서적 Windows Internals, Part 2, 6th Edition
[29] 웹사이트 FAT および NTFS のデフォルトのクラスタ サイズ http://support.micro[...] マイクロソフト 2007-02-20
[30] 웹사이트 FAT 16 ファイル システムを使用したパーティションの最大容量 http://support.micro[...] マイクロソフト 2005-11-29
[31] 웹사이트 "[SDK32] Windows NT FAT パーティション上でのロングファイル名" http://support.micro[...] マイクロソフト 2003-08-28
[32] 웹사이트 How FAT Works http://technet.micro[...] マイクロソフト 2005-08-19
[33] 웹사이트 FAT32 ファイル システムについて http://support.micro[...] マイクロソフト 2007-05-21
[34] 웹사이트 Windows 2000 の FAT32 ファイル システムの制限 http://support.micro[...] マイクロソフト 2004-02-02
[35] 웹사이트 Fdisk で 64 GB を超えるハード ディスクのフル サイズが認識されない http://support.micro[...] マイクロソフト 2007-07-18
[36] 웹사이트 Windows XP での FAT32 ファイル システムの制限 http://support.micro[...] マイクロソフト 2008-11-30
[37] 뉴스 Windows 11プレビュー版、バッテリ最適化やFAT32フォーマットの32GB上限撤廃 https://pc.watch.imp[...] PC Watch 2024-08-19
[38] 웹사이트 Extended FAT File System http://msdn.microsof[...] マイクロソフト 2008-11-30
[39] 웹사이트 Vista SP1 Whitepaper http://windowsvistab[...] マイクロソフト 2007-08-31
[40] 웹사이트 Windows XP 用の更新プログラム (KB955704) http://www.microsoft[...] マイクロソフト 2009-01-31
[41] 웹인용 File Systems https://technet.micr[...] Microsoft TechNet 2011-07-31
[42] 간행물 Windows 95 CD-ROM CONFIG.TXT File http://support.micro[...] Microsoft 2006-11-15
[43] 웹사이트 Standard ECMA-107 http://www.ecma-inte[...]
[44] 웹사이트 ISO 9293:1987 - Information processing - Volume and file structure of flexible disk cartridges for information interchange http://www.iso.org/i[...]
[45] 웹사이트 ISO/IEC 9293:1994 - Information technology - Volume and file structure of disk cartridges for information interchange http://www.iso.org/i[...]
[46] 문서 http://cd.textfiles.[...]
[47] 문서 http://web.archive.o[...]
[48] 웹사이트 FAT16 파일 시스템의 최대 파티션 크기 http://support.micro[...] MSKB
[49] 웹인용 KB955704 http://support.micro[...] 2009-01-27



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com